#pragma once

#include "ActionData.h"

/*!
 * \brief Data used to create transitions
 *
 * Data used to create transitions
 */
class CTransitionData : public CFSMData
{
	DECLARE_RTTI_CLASS( CTransitionData, CFSMData::GetRTTI( ) );

	//================================== METHODS ==============================

public:
	//! Get size action data list
	u32_t GetSizeActionData();
	//! Get action data
	const CActionDataPtr &GetActionData(u32_t idx);

	//================================ DATA MEMBERS ===========================

private:
	//
	TActionDataList m_vActionData;
};

//============================== TYPE DEFINITIONS =========================

//! Transition smart pointer
typedef SmartPtr<CTransitionData> CTransitionDataPtr;
typedef CVector<SmartPtr<CTransitionData>> TTransitionDataList;